《Learning Convolutional Neural Networks for Graphs》
论文 《Learning Convolutional Neural Networks for Graphs》
的目标是:让卷积神经网络能够解决一大类 graph-based
的学习问题。我们考虑以下两个问题:
给定 graph
的一个集合,学习一个函数,该函数可用于针对 unseen graph
的分类问题或回归问题。任意两个graph
之间的结构不一定是相同的。例如,graph
集合中每个graph
都可以建模一种化合物,输出可以是一个函数从而将 unseen
的化合物映射到它们对癌细胞活性抑制的 level
。
给定一个大型的graph
,学习graph
的 representation
,该 representation
可用于推断 unseen
的图属性(如节点类型、或missing edge
)。
该论文提出了一个用于有向图或无向图的 learning representation
框架。graph
可能具有离散属性或连续属性的节点和边(甚至有多个属性),并且可能具有多种类型的边。类似于图像的卷积神经网络,论文从输入图 input graph
构建局部连接(locally connected
)的邻域。这些邻域是有效生成的,并且作为卷积架构的感受野(receptive field
),从而允许框架学习有效的 graph representation
。
所提出的方法建立在用于图像的卷积神经网络的概念之上,并将卷积神经网络扩展到任意的graph
。下图说明了用于图像的 CNN
的局部连接感受野。如下图所示,黑色/白色节点表示不同的像素值(黑色像素值为1
、白色像素值为0
),红色节点表示当前卷积核的中心位置。(a)
图给出了一个 3x3
卷积核在一个 4x4
图像上的卷积过程,其中步幅为1
、采用非零填充。图像可以表示为正方形的网格图 square grid graph
,其节点代表像素。现在,可以将 CNN
视为遍历节点序列(如下图(a)
中的节点 1,2,3,4
),并为每个节点生成固定大小的邻域子图( neighborhood subgraph
)(如下图 (b)
中的 3x3
网格)。邻域子图用作感受野从而读取像素值。由于像素的隐式空间顺序 (implicit spatial order
),节点序列(如下图 (a)
中的节点 1,2,3,4
)从左到右、从上到下是唯一确定的。对于 NLP
问题也是如此,其中每个句子(及其解析树 parse-tree
)确定了单词序列。然而,对于许多graph
集合,缺少特定于问题的顺序( problem-specific ordering
)(空间的、时间的、或其它的顺序),并且graph
的节点不存在对应关系(即,两个graph
之间的结构不相等)。在这种情况下,必须解决两个问题:
确定节点序列,其中我们要对序列中的节点创建邻域子图。
计算邻域子图的归一化,即从graph
到排序空间的唯一映射(unique mapping
) 。
子图的归一化指的是对子图节点进行某种特定顺序的排序。
所提出的方法,称作 PATCHY-SAN
,解决了任意graph
的这两个问题:
对于每个输入graph
,PATCHY-SAN
首先确定需要创建邻域子图的节点(及其访问顺序)。
对于这些节点中的每一个,PATCHY-SAN
抽取和归一化一个刚好由 fixed linear order
)的空间。归一化的邻域子图用作所考虑节点的感受野。
最后,feature learning
组件(如卷积层、稠密层)与归一化的邻域子图(作为 CNN
的感受野)相结合。
下图说明了 PATCHY-SAN
的架构,其中红色节点表示节点序列中的节点,邻域子图大小
PATCHY-SAN
与现有方法相比具有几个优点:
首先,它高效、可并行化,并且适用于大型graph
。
其次,对于很多application
(从计算生物学到社交网络分析),可视化学到的网络主题( network motif
)很重要。PATCHY-SAN
支持特征可视化(feature visualization
),从而提供对图结构属性 ( structural property
)的洞察。
第三,PATCHY-SAN
无需制作另一个 graph kernel
,而是学习 application dependent
的特征而无需进行特征工程。
论文的理论贡献是:
定义graph
上的归一化问题( normalization problem
),以及该问题的复杂度。
一种用于graph
集合的方法,该方法对比了 graph labeling
方法。
实验结果表明,PATCHY-SAN
推广了用于图像的 CNN
。在标准的 benchmark
数据集上,论文证明与 SOTA
的 graph kernel
相比,学到的用于graph
的 CNN
既高效(efficient
)又有效( effective
)。
相关工作:
graph kernel
:graph kernel
允许kernel-based
的学习方法,如直接在graph
上工作的 SVM
。graph
上的 kernel
最初被定义为single graph
上的节点的相似度函数( similarity function
)。两类具有代表性的 kernel
是skew spectrum kernel
和 kernel based on graphlet
。后者与我们的工作有关,因为它基于固定大小的子图来构建 kernel
。这些子图,通常被称作 motif
或 graphlet
,反映了功能性的网络的属性( functional network property
)。然而,由于子图枚举(subgraph enumeration
)的组合复杂性( combinatorial complexity
),graphlet kernel
仅限于具有少量节点的子图。
Weisfeiler-Lehman (WL) kernel
是一类有效的 graph kenerl
。然而,WL kernel
仅支持离散特征,并且在测试阶段使用与训练样本数量成线性关系的内存(而不是与测试样本数量成线性关系)。PATCHY-SAN
使用 WL
作为一种可能的 labeling
过程来计算感受野。
deep graph kernel
和 graph invariant kernel
根据诸如最短路径(shortest path
)、graphlet
、子树(subtree
)、以及其它的图不变量 (graph invariant
)等小型子结构的存在或数量来比较图 (compare graph
)。相反,PATCHY-SAN
从graph
数据中学习子结构,并且不限于预定义 (predefined
)的一组主题(motif
)。
此外,所有 graph kernel
的训练复杂度至少是graph
数量的二次方关系,这对于大型graph
而言是不可行的,但是 PATCHY-SAN
的训练复杂度是graph
数量的线性关系。
graph neural network: GNN
:GNN
是图上定义的循环神经网络(recurrent neural network: RNN
)架构。GNN
将循环神经网络应用于图结构上的游走(walk
),传播 node representation
,直到达到一个不动点 (fixed point
) 。然后将生成的 node representation
用作分类和回归问题中的特征。GNN
仅支持离散特征,并在每次学习迭代过程中执行与图的边和节点数量一样多的反向传播操作。
注:
GNN
理论上也支持连续特征。
Gated Graph Sequence Neural Network: GGSNN
修改 GNN
以使用门控循环单元(gated recurrent unit: GRU
)并输出序列。
最近的工作将 CNN
扩展到不同于低维网格结构的拓扑。然而,所有这些方法都假设一个全局的图结构,即,跨graph
的节点的对应关系(correspondence
)。
《Convolutional networks on graphs for learning molecular fingerprints》
对graph
执行卷积类型的操作,开发了一个 specific graph feature
的可微变体(differentiable variant
)。
CNN
受到早期工作的启发,该工作表明:动物的视觉皮层包含复杂的细胞排列,它们负责检测视野( visual field
)的小局部区域(small local region
)中的光。CNN
是在 1980
年代开发的,并已应用于图像、语音、文本、以及药物发现问题。CNN
的前身是 Neocognitron
。典型的 CNN
由卷积层、稠密层(dense layer
)组成。第一个卷积层的目的是提取在输入图像的局部区域内发现的常见模式。CNN
对输入图像利用学到的 filter
执行卷积运算,并将卷积结果输出为张量,输出的 depth
是 filter
的数量。
目前现有的大多数 Graph Kernel
算法都是基于 R-Convolution
理论构建而来,其理论思想是:设计一种图的分解算法,两个图的核函数和图分解后的子结构的相似程度有关。
给定两个图
基于该子结构,则
其中:
因此,任意一种图的分解方式 Graph Kernel
,常见的主要分为三类:
基于游走的Graph Kernel
,如 Random Walk Kernel
。
基于路径的 Graph Kernel
,如 Shortest-Path Kernel
。
基于子树(subtree
) 或者子图 (subgraph
)的 Graph Kernel
,如 Weisfeiler-Lehman Subtree Kernel
。
另外,除了 R-Convolution
系列之外,还有其它的 Graph Kernel
。
Random Walk Kernel
:随机游走Kernel
的基本思想是:统计两个输入图中相同的随机游走序列的数量。
给定输入图 label
为 direct product graph
其中:
label
, label
。注意,这里的 label
其实是属性,而不是监督学习中的监督信号。
label
的节点组成的 pair
对。
label
的边组成的 pair
对,且边的对应节点的 label
分别相同。
在
中,每个节点其实代表两个子节点,这两个子节点在各自图中具有相同的 label
。中的边代表:
起点背后的两个子节点,在各自图中具有相同的
label
。终点背后的两个子节点,在各自图中具有相同的
label
。起点和终点背后的两对子边,在各自图中具有相同的
label
。
定义图 kernel
定义为:
其中
:给出了图 和 中,长度为 的、特定条件的路径的数量,该路径满足以下条件:路径的节点 label
序列完全相同、路径的边label
序列完全相同。
Shortest-Path Kernel
:最短路径 Kernel
的基本思想是:统计两个输入图中相同标签之间的最短路径。
给定输入图
首先通过Floyd
成对最短路径生成算法,构建每个图的节点之间的最短路径,得到新的图
计算:
其中 1
的 edge walk
上的正定核。
Weisfeiler-Lehman Subtree Kernel
:它基于 Weisfeiler-Lehman
算法。
节点 label
更新:对于图 hash
函数得到节点 label
:
其中 label
,label
集合。
更新后的新label
包含了其直接邻域的节点信息。因此如果两个节点更新后的 label
相同,我们可以认为其邻域结构是同构的。
更新图的所有节点 、重复更新最多
每一轮更新后,节点 label
就包含了更大规模的邻域的节点信息,最终每个节点的 label
编码了图的全局结构信息。
对于输入图 Weisfeiler-Lehman
算法,最终根据 label
集合的相似性(如 Jaccard
相似性)来得到核函数:
其中 label
集合。
一旦定义了 Graph Kernel
,则我们可以使用基于核技巧的方法,如 SVM
来直接应用在图上。
给定图
定义图的邻接矩阵
每个节点以及每条边可以包含一组属性,这些属性可以为离散的,也可以为连续的。这里我们用 “属性” 而不是 “标签” 来避免概念的混淆。
定义一个游走序列 walk
是由连续的边组成的一个节点序列。定义一条路径( path
)是由不重复节点构成的walk
。
定义
定义
Labeling and Node Partitions
:PATCHY-SAN
利用了graph labeling
对节点进行排序。
graph labeling
:如果图的节点自带label
, 则我们可以直接用该label
。如果节点没有label
,则我们可以通过一个graph labeling
函数 label
,其中 graph labeling
过程计算输入图中节点的 label
。
graph labeling
的例子包括:通过节点的度(degree
)计算label
、通过节点的中介中心性(between centrality
)计算 label
。一个节点
ranking
:一个排序( ranking
)(或者染色 coloring
)是一个函数 graph labeling
引入一个排序函数,使得当且仅当 label
越大则排名越靠前。如果图 labeling
其中节点
行代表节点,列代表排名。
划分( partition
):graph labeling
引入节点集合 label
的取值类别数。节点
Weisfeiler-Lehman
算法是一种划分图节点的过程,它也被称作 color refinement
和 naive vertex classification
。该算法在机器学习社区中引起了相当广泛的兴趣,因为它可以应用于图模型的加速推断、以及作为一种计算 graph kernel
的方法。
PATCHY-SAN
使用这些 graph labeling
过程来对图的节点施加顺序,从而替代缺失的、application-dependent
的顺序(如时间顺序,空间顺序)。
同构和规范化(Isomorphism and Canonicalization
):在很多应用领域存在的一个计算问题是:确定两个图是否是同构曲面。图同构问题( graph isomorphism (GI) problem
)是 NP
的,但是不知道是属于 P
还是 NP-hard
。在一些温和的限制下,图同构问题是 P
的,例如对于有界 degree
的图。
图 isomorphism class
)。在实践中,图规范化工具 NAUTY
表现出了卓越的性能。
当 CNN
应用于图像时,感受野(正方形网格)以特定的步长在图像上移动。感受野为每个通道读取一次像素值,并为每个通道创建一批数值。由于图像的像素具有隐式排列(即,空间顺序),因此感受野总是从左到右、从上到下移动。此外,空间顺序唯一地确定了每个感受野的节点以及这些节点映射到排序空间方式。因此,当且仅当像素的结构角色 (structural role
)(它们在感受野内的空间位置)相同时,使用两个不同绝对位置的感受野读取到的两个像素值被分配到同一个相对位置。
为了展示 CNN
和 PATCHY-SAN
之间的联系,我们把图像上的 CNN
视为一种框架:首先识别正方形网格图(代表图像)中的节点序列,然后为该序列中的每个节点建立一个归一化的邻域子图(neighborhood graph
)(即,感受野)。
对于缺少 application-dependent
节点顺序并且任何两个图的节点尚未对齐的图集合,我们需要为每个图确定:
一个节点序列,其中我们即将为序列中的每个节点创建邻域子图。
从图结构到向量 representation
的唯一映射,使得相似的邻域子图具有相似的向量representation
。
我们通过graph labeling
过程来解决这些问题。如果来自两个不同图的节点在图中的结构角色相似,那么它们被分配到各自邻接矩阵中的相似的相对位置。给定一组图,PATCHY-SAN
对每个图执行以下操作:
采用 Node Sequence Selection
算法从图中选择一个固定长度的节点序列。
采用 Neighborhood Assembly
算法为节点序列中的每个节点组装一个固定大小的邻域。
通过 Graph Normalization
对每个邻域子图进行归一化处理,从而将无序的图转换为有序的、长度固定的节点序列。
利用CNN
学习邻域的 representation
。
节点序列选择node sequence selection
是为每个输入图识别需要创建感受野的节点序列的过程。
首先,输入图的节点根据给定的 graph labeling
进行排序。
其次,使用给定的步幅
决定了卷积运算输出 feature map
的尺寸,它对应于一维CNN
中的序列长度。
步幅 graph labeling
进行深度优先遍历。
类比一维卷积的运算,那么
就是数据序列的长度, 就是一维卷积的步长。每个输入图都需要对其到 个感受野(即一维卷积中的序列长度对齐)。
Select Node Sequence
算法:
算法输入:
graph labeling
函数
输入图
步幅
算法输出:被选择的节点序列,以及对应的感受野
算法步骤:
根据 top
初始化:
迭代,直到
如果
将
因为节点的特征可能是一个向量,表示多维度属性。
更新:
返回访问到的节点序列,以及创建的感受野序列。
对于被选择的节点序列,必须为其中的每个节点构建一个感受野。创建感受野的算法首先调用邻域组装算法来构建一个局部邻域,邻域内的节点是感受野的候选节点。
给定节点 BFS
来探索与节点 BFS
过程),直到
即,广度优先搜索
个最近邻的节点(包括它自身)。 另外,最终得到的
丢失了距离信息(和节点 的距离)。所以,如果这里能够保存距离信息,是否会更有利?
Neighborhood Assembly
算法:
算法输入:当前节点
算法输出:节点
算法步骤:
初始化:BFS
遍历到的节点。
注意,节点
也是它自身的邻居。
迭代,直到
获取当前BFS
遍历节点的一阶邻域:
合并BFS
遍历到的节点:
返回
子图归一化是对邻域子图的节点施加一个顺序,使得节点从无序的图空间映射到线性顺序的排序空间。子图归一化的基本思想是利用 graph labeling
,对于不同子图中的节点,当且仅当节点在各自子图中的结构角色相似时,才给它们分配到各自邻接矩阵中的相似的相对位置(similar relative position
)。
为了形式化该思想,我们定义了一个 Optimal Graph Normalization
问题,该问题的目标是找到给定的图集合的最佳 labeling
。
Optimal Graph Normalization
问题:令 graph labeling
过程。令
即:从
图的最优归一化问题是经典的图规范化问题(graph canonicalization problem
)的推广。但是经典的labeling
算法仅针对同构图(isomorphic graph
)最佳,对于相似但是不同构的图可能效果不佳。相比之下,最优归一化问题的期望值越小,则labeling
过程将具有相似结构角色的节点进行对齐的效果越好。这里结构相似度由
关于图的最优归一化问题,这里给出了两个定理:
定理一:图的最优归一化问题是 NP-hard
。
证明:通过从子图同构进行规约( reduction
)。
PATCHY-SAN
无法完全解决图的最优归一化问题,它只是比较了不同的 graph labeling
方法,然后选择其中表现最好的那个。
定理二:设
如果 graph labeling
。证明见论文。
该定理使得我们通过比较估计量 graph labeling
。我们可以简单的选择使得 graph labeling
。
当我们在图上选择编辑距离(edit distance
)、在矩阵
另外,上述结论不仅对无向图成立,对于有向图也成立。
图的归一化问题,以及针对该问题的合适的graph labeling
方法是PATCHY-SAN
算法的核心。我们对节点 label
:任意两个其它节点 1
(即排名最靠前)。
注意,
PATCHY-SAN
中应用了两种graph labeling
函数:
第一种
graph labeling
函数,用于选择节点序列,即 Select Node Sequence
算法。第二种
graph labeling
函数就是这里的距离函数,用于图的归一化问题,即Graph Normalization
算法。
由于大多数 labeling
方法不是单射的,因此有必要打破 same-label
节点之间的联系。为此,我们使用 NAUTY
。NAUTY
接收先验的 node partition
作为输入,并通过选择字典顺序最大的邻接矩阵来打破剩余的联系( remaining ties
)。
注意,节点
的局部邻域 中,可能存在多个与节点 距离相等的邻居节点,因此距离函数作为 graph labeling
函数不是单射的。
众所周知,对于有界degree
的图的同构问题可以在多项式时间求解,由于邻域子图的规模为 graph labeling
的过程仅产生一个微不足道的开销。
Graph Normalization
算法:
算法输入:
节点
graph labeling
函数 Select Node Sequence
算法中的 graph labeling
函数
感受野尺寸
输出:归一化的邻域子图
算法步骤:
对
如果 ranking
取 top k
个节点,对所选择的节点再执行一次labeling
以及 ranking
的过程。
这里必须使用
在筛选出的较小的节点集合上重新计算,因为新的结构导致了新的 labeling
分布。
如果
根据这
下图为对红色根节点 graph labeling
对节点进行排序,然后创建归一化的邻域。
归一化还包括裁剪多余的节点和填充虚拟节点。节点的不同属性对应于不同的输入通道。不仅可以针对节点创建感受野,还可以针对边创建感受野,边的感受野尺寸为
正如前面的评论所说,最终得到的
丢失了距离信息(和节点 的距离)。那么这里是否可以新增一个 “距离通道”,这个距离通道保存距离属性,即邻居节点和根节点 的距离。 或者,如后文所述,也可以直接采用边的感受野(尺寸为
)。
创建感受野的 Create Receptive Field
算法:
算法输入:节点
算法输出:节点
算法步骤:
计算节点
归一化邻域子图:
返回
我们可以将 PATCHY-SAN
与图像的 CNN
相关联。
定理:在图像中得到的一个像素序列上应用 PATCHY-SAN
,其中感受野尺寸为 1-WL
归一化,则这等效于 CNN
的一个感受野大小为
证明:如果输入图为一个正方形网格,则为节点构造的 1-WL
归一化的感受野始终是具有唯一节点顺序的正方形网格。
PATCHY-SAN
既能处理节点,也能处理边;它既能处理离散属性,也能处理连续属性。
PATCHY-SAN
对每个输入图
我们可以将这两个张量reshape
为一个 CNN
的组件。另外我们可以利用融合层来融合来自节点的卷积输出feature map
和来自边的卷积输出 feature map
。
PATCHY-SAN
的创建感受野算法非常高效。另外,由于这些感受野的生成是相互独立的,因此感受野生成过程原生支持并行化。
定理:令 graph labeling
过程的计算复杂度。则PATCHY-SAN
最坏情况下的计算复杂度为
证明见论文。
当采用Weisfeiler-Lehman
算法作为graph labeling
算法时,它的算法复杂度为 PATCHY-SAN
的复杂度为
我们通过将PATCHY-SAN
应用于实际的图来评估其计算效率,评估指标为感受野的生成速度。我们将 PATCHY-SAN
生成感受野的速度,与 STOA
的 CNN
执行学习的速度进行比较。
数据集:所有输入图都来自 Python
模块 GRAPHTOOL
。
torus
图:具有10k
个节点的周期性晶格。
random
图:具有10
个节点的随机无向图,节点的度的分布满足:
power
图:美国电网拓扑网络。
polbooks
:2004
年美国总统大选期间出版的有关美国政治书籍的 co-purchasing
网络。
preferential
:一个 preferential attachment network
,其中最新添加的节点的degree
为 3
。
astro-ph
:天体物理学 arxiv
上作者之间的 co-authorship
网络。
email-enron
:一个由大约 50万
封已发送 email
生成的通信网络。
我们的PATCHY-SAN
采用 1-dimensional Weisfeiler-Lehman:1-WL
算法来归一化邻域子图。下图给出了每个输入图每秒产生感受野的速度。所有实验都是在单台 2.8 GHZ GPU
、64G
内存的机器上执行。
对于感受野尺寸 email-eron
上的速度为 600/s
和 320/s
之外,在其它所有图上PATCHY-SAN
创建感受野的速度超过 1000/s
。
对于最大的感受野尺寸 PATCHY-SAN
创建感受野的速度至少为 100/s
。
对于一个经典的带两层卷积层、两层 dense
层的 CNN
网络,我们在相同机器上训练速度大概是 200-400
个样本/秒,因此PATCHY-SAN
感受野的生成速度足以使得下游 CNN
组件饱和。
可视化实验的目的是定性研究 restricted boltzman machine: RBM
等流行模型是否可以与 PATCHY-SAN
结合从而用于无监督特征学习。我们将 PATCHY-SAN
学到的尺寸为9
的归一化感受野使用 restricted boltzman machine:RBM
进行无监督学习,RNM
所学到的特征对应于重复出现的感受野模式。其中:
PATCHY-SAN
采用 1-WL
算法进行邻域子图归一化。
采用单层RBM
,隐层包含 100
个隐单元。
RBM
采用对比散度算法(contrastive divergence: CD
)训练 30
个 epoch
,学习率设为 0.01
。
下图给出了从四张图中得到的样本和特征。我们将RBM
学到的特征权重可视化(像素颜色越深,则对应权重重大)。另外我们还采样了每种模式对应的三个节点的归一化邻域子图,黄色节点表示当且节点(排序为1
)。
左上角为 torus
周期性晶格图、左下角为 preferential attachment
图、右上角为 co-purchasing
图、右下角为随机图。
图分类任务是将每个图划分到若干类别之一。我们采用6
个标准 benchmark
数据集来比较不同图分类模型的分类准确性和运行时间。
MUTAG
数据集:由188
种硝基化合物组成的数据集,其类别表明该化合物是否对细菌具有诱变 (mutagenic
)作用。
PTC
数据集:由 344
种化合物组成的数据集,其类别表明是否对老鼠具有致癌性。
NCI1
和 NCI109
数据集:筛选出的抑制 non-small
肺癌细胞和卵巢癌细胞活性的化合物。
PROTEIN
:一个图的数据集,其中图的节点表示次级结构元素( secondary structure element
), 边表示氨基酸序列中的相邻关系,或者三维空间中的氨基酸相邻关系。其类别表示酶或者非酶。
D&D
:由 1178
种蛋白质组成的数据集,其类别表明是酶还是非酶。
我们将PATCHY-SAN
和一组核方法比较,包括shortest-path kernel: SP
、random walk kernel: RW
、graphlet count kernel: GK
,以及 Weisfeiler-Lehman sbutree kernel: WL
。
对于核方法,我们使用 LIB-SVM
模型来训练和评估核方法的效果。我们使用10
折交叉验证,其中9-fold
用于训练,1-fold
用于测试。我们重复10
次并报告平均准确率和标准差。
类似之前的工作,我们设置核方法的超参数为:WL
的高度参数设置为2
,GK
的尺寸参数设置为 7
,RW
的衰减因子从
对于 PATCHY-SAN: PSCN
方法,我们使用 1-dimensional WL
归一化,设置
所有 PSCN
都使用了具有两个卷积层、一个dense
层、一个 softmax
层的网络结构。其中:
第一个卷积层有 16
个输出通道,第二个卷积层有 8
个输出通道,步长
dense
层有 128
个隐单元(relu
激活函数),采用dropout = 0.5
的 dropout
。我们采用一个较小的隐单元数量以及 dropout
从而避免模型在小数据集上过拟合。
所有卷积层和 dense
层的激活函数都是 reLU
。 模型的优化算法为 RMSPROP
优化算法,并基于Keras
封装的 Theno
实现。
所有 PSCN
需要优化的超参数为 epoch
数量以及 batch-size
。
当 PATCHY-SAN
抽取的感受野应用一个逻辑回归分类器 PSLR
。
实验结果:这些模型在 benchmark
数据集上的结果如下表所示。其中前三行给出了各数据集的属性,包括图的最大节点数Max
、图的平均节点数Avg
、图的数量Graphs
。我们忽略了 NCI109
的结果,因为它几乎和 NCI1
相同。
尽管使用了非常普通的CNN
架构,PSCN
的准确率相比现有的graph kernel
方法具有很强的竞争力。在大多数情况下,采用 PSCN
具有最佳的分类准确性。
PSCN
这里的预测方差较大,这是因为:benchmark
数据集较小,另外 CNN
的一些超参数(epoch
和 batch-size
除外)没有针对具体的数据集进行优化。与图像和文本数据的体验类似,我们预期 PATCHY-SAN
在大型数据集上的表现更好。
PATCHY-SAN
的运行效率是graph kernel
中最高效的 WL
方法的 2
到 8
倍。我们预计具有大量 graph
的数据集上,PATCHY-SAN
的性能优势会更加明显。
PATCHY-SAN
+ 逻辑回归的效果较差,这表明 PATCHY-SAN
更适合搭配 CNN
。CNN
学到了归一化感受野的非线性特征组合,并在不同感受野之间共享权重。
采用中介中心性归一化( betweeness centrality normalization
)结果也类似(未在表中体现),除了它的运行时间大约增加了 10%
。
融合节点的感受野和边的感受野的
的效果优于 PSCN k=10
,这表明保留邻域子图的距离信息的有效性。
我们在较大的社交网络图数据集上使用相同的配置进行实验,其中每个数据集最多包含 12k
个图,每个图平均 400
个节点。我们将 PATCHY-SAN
和之前报告的 graphlet count: GK
、deep graplet count kernel: DGK
结果相比。
我们使用归一化的节点degree
作为节点的属性,这突出了PATCHY-SAN
的优势之一:很容易地包含连续特征。
可以看到 PSCN
在六个数据集的四个中明显优于其它两个核方法,并且在剩下两个数据集也取得了很好的性能。